Automatic upgrade utilities are known in the prior art. However, prior art automatic upgrade utilities are not known to have provided firmware upgrades across an entire product line for units comprised of a plethora of different characteristics. In addition, prior art on automatic upgrade utilities are not known to operate across any network transports. Prior art on automatic upgrade utilities have rarely operated in the automatic data collection (“ADC”) device platform environment.
Many suppliers customize their products according to customer requirements. This is especially true with regard to products related to automatic data collection (“ADC”). Accordingly, the precise characteristics of the products sold by the supplier, even within a single product line, vary greatly. In the prior art, upgrades required a confusing disk swapping process and/or a direct serial connection to the device that required considerable user attention to ensure the upgrade completed successfully. Upgrades frequently consumed several hours, as each detail of the product being upgraded had to be painstakingly checked and disks constantly swapped. Moreover, an operator needed to be present to swap the diskettes. The presence of the operator often meant that during business hours the ADC device platform was unavailable for data collection while an upgrade was being accomplished. Many users were extremely reluctant to perform the installation procedure themselves because they were afraid of making mistakes and they were also concerned that they did not possess the requisite technical understanding to complete the process successfully.
The following summary lists the issues resolved by implementing the automated upgrade process:                Reduce the downtime of the device due to an upgrade being performed        Reduce inputs required from the user to eliminate operator error        Reduce the time required to perform an upgrade, reduce manpower required        Increase the odds of having the upgrade process conclude successfully        Allow for scheduling of the upgrade during off-hours        Initiate simultaneous upgrades to multiple target devices        Allow for grouping of devices to reduce redundant operations        Perform the upgrade over a network to many devices as well as over a serial connection to a single device        Allow for upgrades to occur from remote, centralized locations        Support differing scopes of upgrades via the same utility, i.e. install a patch versus install a new version of the operating system        Provide a single utility that can perform upgrades of a device's operating system, firmware, application and data files.        
The automated software upgrade utility allows a customer, product supplier or software vendor to upgrade the operating system, firmware, applications and data files on any product regardless of the product type and characteristics. This upgrade process can be invoked from a remote location or via interaction directly with the target device.
The automated upgrade process is independent of the device hardware platform, operating system, the network transport utilized by the device, and the target device itself.
The automated software upgrade process also allows for modification of the hardware configuration of the target device, e.g., change and reformat a hard drive partition.
The automated upgrade utility may reside at remote sites, such as the user's place of business, and periodically query the product supplier for firmware upgrades. Alternatively, the upgrade utility may reside with the product supplier and periodically locate remote products and perform the upgrade process.
In both configurations, the software upgrade utility retains the ability to identify all pertinent product characteristics, freeing the developer of the firmware upgrade from concerns regarding installing the upgrade across a wide range of product characteristics and nearly endless possible configurations.